const express = require("express");
const router = express.Router();
const {
  queryStudent,
  queryStudentByName,
  createStudent,
  deleteStudent,
} = require("../../services");

//查询所有学生
router.get("/", async (req, res) => {
  let result = await queryStudent();
  res.json(result);
});
//根据姓名查询学生 使用的是查询参数(query)
router.get("/getbyname", async (req, res) => {
  //req里面没有拿到携带的查询参数 使用query
  let name = req.query.name;
  let result = await queryStudentByName(name);
  res.json(result);
});
//新增一个学生
//发送post请求 需要携带一些数据过来(name, age,gender)
router.post("/", async (req, res) => {
  //post请求携带的数据就是在req.body 如果想要拿到请求的数据 需要解析(express需要通过一个中间件(是express用来数据具体需求的)来解析)一下
  let { name, age, gender } = req.body;
  //调用service来实现新增
  let result = await createStudent({ name, age, gender });
  res.json(result);
});
//删除一个学生 使用的是动态路由(params)
router.delete("/:id", async (req, res) => {
  let id = req.params.id;
  let result = await deleteStudent(id);
  res.json(result);
});
//更新一个学生
module.exports = router;
